package com.ai.model.made;

import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用于统计各检测面不同检测类型的缺陷信息
 * @Author jiaok
 * @Date 2024-10-15 10:55
 */
@Data
public class FaceDefectStats {

    /**
     * 缺陷所在的a\b面
     */
   private  String faceType;

    /**
     * 用于统计各缺陷类型所在的索引位置，
     */
   Map<Integer, List<Integer>> defectStatsMap;


    public FaceDefectStats(String faceType) {
        this.faceType = faceType;
        this.defectStatsMap = new HashMap<>(16);
    }

    /**
     * 统计追加各缺陷类型的索引位置
     * @param defectType 缺陷类型
     * @param defectIndex 缺陷图片索引
     */
    public void addDefectTypeIndex(Integer defectType, int defectIndex){
        /**
         * 当前缺陷类型键存在，则将新的缺陷索引位置存放进去
         * 如果不存在缺陷类型键，则创建一个对应的键以及列表，并将缺陷索引位置追加进去
         */
        defectStatsMap.computeIfAbsent(defectIndex, k-> new ArrayList<>()).add(defectIndex);
    }

}
